package persi.futbol;

import java.util.ArrayList;
import java.util.List;

import persi.futbol.formacion.Formacion;
import persi.futbol.interfaces.Nombrable;
import persi.futbol.jugador.Jugador;

public class Equipo implements Nombrable {
	/**
	 * Delega en el técnico para armar el equipo
	 */

	private String nombre;

	private Tecnico tecnico;
	private List<Jugador> jugadores = new ArrayList<Jugador>();

	public Equipo(String nombre, Tecnico tecnico, List<Jugador> jugadores) {
		super();
		this.nombre = nombre;
		this.tecnico = tecnico;
		this.jugadores = jugadores;
	}

	public void setJugadores(List<Jugador> jugadores) {
		this.jugadores = jugadores;
	}

	public void setTecnico(Tecnico tecnico) {
		this.tecnico = tecnico;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public List<Jugador> getJugadores() {
		return jugadores;
	}

	public Formacion getFormacion() {
		return this.getTecnico().armarFormacion(this);
	}

	public Tecnico getTecnico() {
		return tecnico;
	}

	public String getNombre() {
		return nombre;
	}

	Formacion armarFormacion() {
		return tecnico.armarFormacion(this);
	}

	public void agregarJugador(Jugador jugador) {
		this.getJugadores().add(jugador);
	}
}
